FabArto is the art project of Fabrice LABIT, a Paris photographer for whom I also built the Maison Ozaé website. The fabarto.eu site is currently a holding page: a full screen image, the project name and two links, to Patreon and Instagram. The need looked modest: hold the domain properly while the work takes shape, without having to rebuild everything the day the real site arrives. So it needed a light page today, built on foundations able to carry a full portfolio tomorrow, with its galleries and its search visibility.
In pictures
The project in detail
I built the first version in April 2025 with Vite, React and Tailwind CSS, then put it behind Traefik in June 2025, on the same OVH server as maisonozae.eu. The page adapts to every screen, with text and image recomposing from phone to large display.
In September 2026 I migrated the page to the stack I use on all my sites: TanStack Start, Tailwind CSS v4 and TypeScript, with head tags managed per route. It will be the base of the future site, which can grow page by page with no change of tooling. It was also a chance to set up the full chain on a very small project: a Docker image served by nginx as a non root user, per environment deployment behind Traefik, a test of the home component and a verification pipeline on every merge request, split into three parallel jobs for lint, tests and type checking.
Several rules I now apply on every project come from this one. The route file generated by TanStack Router must be committed, otherwise the build breaks on a clean clone while passing locally. The nginx user must be explicitly attached to its group, or the process runs with the wrong identifier without any warning. And a pipeline that only checks the code after the merge comes too late: verification has to run before.
This project illustrates maintenance as I see it: even a single route page deserves reproducible deployment and automated checks, because that is what makes it safe to evolve. The day FabArto becomes a full portfolio, the foundation will already be there, tested and in production.
