Skip to content

Losmose is built here

This site showcases the community as much as the way it is made. The code, the technical decisions and the mistakes are all public.

What runs this site

FrankenPHP in worker mode
The application stays in memory between requests instead of booting from scratch every time. Server, PHP and certificate all fit in a single binary.
Built-in Mercure hub
Real-time updates go through the server itself: nothing extra to host or keep an eye on.
PostgreSQL 17
One database for the data, the message queue and the sessions, rather than three systems to maintain.
Turbo, Stimulus, Live Components
Pages update without reloading, from HTML rendered on the server — no JavaScript to write.
AssetMapper and Tailwind
No Node, no build step to install: the browser gets the files as they were written, versioned at deploy time.
Messenger and Scheduler
Long-running work and recurring tasks live in the code, not in a crontab hand-written on the server.
French and English
Every page exists in both languages, with its own path, and tells search engines about its translations.
Security headers
The content policy relies on a token renewed on every page rather than trusting code written into the page.
Analysis and tests
Static analysis at the strictest level, modernisation and style checks, tests: nothing ships before all of it is green.