Blog

Short, practical pieces about what is in Phlo: one functionality at a time, with an example.

An error page that tells you the exact line, not a guess
24 Jul 2026

An error page that tells you the exact line, not a guess

A stack trace through compiled or transpiled code is a familiar kind of unhelpful: the line number is real, but it points at generated output nobody wrote by hand, several steps removed from the source you actually ne...

Forms that write themselves from the same schema
19 Jul 2026

Forms that write themselves from the same schema

A form is usually the most tedious part of building an admin: the right input per field, client and server validation kept in sync, and a create form and an edit form that quietly drift apart from each other over time...

Not a toy: four real products running on Phlo
13 Jul 2026

Not a toy: four real products running on Phlo

It is one thing to show a demo blog and a poll app, and another to point at products people actually use. Four live products run entirely on Phlo, built the same way every example on this site is built: routes, views ...

Talking to someone else's API without writing HTTP glue again
2 Jul 2026

Talking to someone else's API without writing HTTP glue again

Every integration with an external API starts the same way: read the docs, figure out auth, write a thin wrapper around HTTP(), add retry logic nobody asked for until the third outage, and repeat for the next vendor. ...

A WhatsApp gateway that is not a vendor lock-in
27 Jun 2026

A WhatsApp gateway that is not a vendor lock-in

WhatsApp is where a lot of a small business's actual communication happens, but most ways of automating it mean handing a vendor your message history, your customer list, or both. Phlo WhatsApp is built as infrastruct...

A video editor is not a special case, it is still a Phlo app
8 Jun 2026

A video editor is not a special case, it is still a Phlo app

It is easy to assume a language built around routes, views and a database is fine for CRUD apps and out of its depth for anything heavier, client-side media work, say. Phlo Presentation exists partly to test that assu...

No build tool zoo, one bundle per namespace instead of one per page
30 May 2026

No build tool zoo, one bundle per namespace instead of one per page

A modern frontend build usually means a bundler, a CSS preprocessor, a minifier, and a config file coordinating all three. Phlo folds all of it into the transpiler that already turns .phlo source into PHP: every <styl...

Built to be read by an agent, not just tolerated by one
16 May 2026

Built to be read by an agent, not just tolerated by one

Most frameworks were designed for humans and are merely tolerated by an AI agent working through them: guessed conventions, a training-data cutoff standing in for real documentation, no reliable way to check whether a...

One dashboard for every app you run, not one per app
25 Apr 2026

One dashboard for every app you run, not one per app

There are two different things in Phlo that both sound like "the admin panel," and mixing them up causes real confusion, so it is worth being precise. The Phlo Control Center is a small dev panel built into every app,...

A schema is not documentation, it is the admin
20 Apr 2026

A schema is not documentation, it is the admin

Most admin panels are hand-built a second time, after the data model already exists: a list view here, a form there, validation duplicated between the API and the UI. Phlo CMS starts from the position that this is was...

The Daemon: warm workers, no boot cost
27 Mar 2026

The Daemon: warm workers, no boot cost

Every PHP request traditionally pays a small tax before it does any real work: bootstrap the framework, wire up the app, then handle the request. FrankenPHP's worker mode already removes most of that by keeping the ap...

Phlo Realtime: WebSockets without leaving the language
19 Mar 2026

Phlo Realtime: WebSockets without leaving the language

Most frameworks treat realtime as a second stack bolted onto the first: a separate WebSocket server, a separate event bus, a separate mental model for "the stuff that pushes." Phlo Realtime is built to be additive ins...

The death of rented capacity: reclaiming the full stack with Phlo
24 Feb 2026

The death of rented capacity: reclaiming the full stack with Phlo

Web development is in the middle of a complexity crisis. The pitch has always been that "industry standards" require navigating dependency trees too deep to audit and frameworks that churn faster than anyone can maste...

The architecture of sanity: why Phlo&#039;s radical simplicity is the future of full-stack
16 Feb 2026

The architecture of sanity: why Phlo's radical simplicity is the future of full-stack

Modern web development has been locked in a fifteen-year debate that has led us into a complexity trap. We have traded the proven stability of server-side PHP, which still quietly powers 70% of the web, for a fragment...

We use essential cookies to make this site work. With your permission we also use analytics to improve the site.