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.