One platform, four layers
Phlo does not stop at the language. The same stack that compiles your code runs your server, handles realtime and messaging, and manages your entire fleet.
The server platform
FrankenPHP runtime
In production a Phlo app runs on FrankenPHP in worker mode: the app stays in memory, requests cost no startup time. Zero dependencies, with 158 bundled resources.
Production setup →phloWS realtime
A lightweight Node.js WebSocket broker that multiplexes connections across multiple apps. Your app implements four hooks (wsConnect, wsAuth, wsReceive, wsClose) and broadcasts from PHP with wsCast().
phloWS manual →phloWA messaging
A WhatsApp gateway as a separate service: one process per number, incoming messages reach your app through a secured webhook. Mail and notifications run through the same platform layer.
phloWA manual →Phlo CMS
Schema-driven CRUD: from your models the CMS generates lists, records, forms, uploads and a REST API. Every relationship (parent, child, many) and file uploads included.
CMS handbook →For agents
Phlo is designed agent-first: a complete language specification as SKILL.md, machine-readable docs and runtime introspection through reflect.
llms.txt →The operations platform
The Phlo dashboard does not manage a single app but your entire technical architecture: every application, server and domain from one place.
Self-hosted by design: you run Phlo on your own server, in worker mode in memory. The costs scale with a machine, not with each request, so success does not make your infrastructure unaffordable as often happens with cloud and serverless. You own the readable PHP output, your data, and the machine on which everything runs.
Fleet overview
All apps and servers on one screen: uptime, versions, builds and health.
Domains & databases
Domain management and database administration per app, without separate tooling.
Notifications & visitors
Messages, alerts and visitor statistics across the whole fleet, routed to mail or WhatsApp.